﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;

namespace ControlDeAsistencia
{
    class Empleado
    {
        private int dni;

        public int Dni
        {
            get { return dni; }
            set { dni = value; }
        }

        private string nombre;

        public string Nombre
        {
            get { return nombre; }
            set { nombre = value; }
        }

        private string apellido;

        public string Apellido
        {
            get { return apellido; }
            set { apellido = value; }
        }

        private DateTime fechanac;

        public DateTime Fechanac
        {
            get { return fechanac; }
            set { fechanac = value; }
        }

        private DateTime fechadealta;

        public DateTime Fechadealta
        {
            get { return fechadealta; }
            set { fechadealta = value; }
        }

        private string genero;

        public string Genero
        {
            get { return genero; }
            set { genero = value; }
        }

        private string estadocivil;

        public string Estadocivil
        {
            get { return estadocivil; }
            set { estadocivil = value; }
        }

        private int hijos;

        public int Hijos
        {
            get { return hijos; }
            set { hijos = value; }
        }

        private string direccion;

        public string Direccion
        {
            get { return direccion; }
            set { direccion = value; }
        }

        private int codPostal;

        public int CodPostal
        {
            get { return codPostal; }
            set { codPostal = value; }
        }

        private int idprovincia;

        public int Idprovincia
        {
            get { return idprovincia; }
            set { idprovincia = value; }
        }

        private bool estado;

        public bool Estado
        {
            get { return estado; }
            set { estado = value; }
        }

        //////////////////////////////////////

        public Empleado() 
        {
        }

        public Empleado(int dni, string nombre, string apellido, DateTime fechanac, string genero, string estadocivil,
            int hijos, string direccion, int codpostal, int idprovincia, bool estado) // para el ABML :$
        {
            this.Dni = dni;
            this.Nombre = nombre;
            this.Apellido = apellido;
            this.Fechanac = fechanac;
            this.Fechadealta = DateTime.Now;
            this.Genero = genero;
            this.Estadocivil = estadocivil;
            this.Hijos = hijos;
            this.Direccion = direccion;
            this.codPostal = codpostal;
        }

        public Empleado(int dni)
        {
            AccesoDatos bd = new AccesoDatos();
            DataTable dt = bd.obtenerDatos("SELECT * FROM Empleados WHERE dni = " + dni);
            if (dt.Rows.Count == 0) return;//se fija en el DATATABLE!!! no en la base y si no existe es por que no lo encontro en la consulta de arriba susodicha! ekis de
            this.Dni = int.Parse(dt.Rows[0]["dni"].ToString());// parse = convertir un tipo de dato a otro tipo
            // en este caso convierte el string a int
        }

        public static bool existe(int dni)
        {
            AccesoDatos bd = new AccesoDatos();
            DataTable dt = bd.obtenerDatos("SELECT * FROM Empleados WHERE dni = " + dni);
            if (dt.Rows.Count == 0)
                return false;
            return bool.Parse(dt.Rows[0]["estado"].ToString());
        }
    }
}
